Prefetching and a row buffer are known as a technique to cover up latency in data loading from a processor to a memory (such as a main memory) of low access speed, or large latency.
Prefetching is a technique to predict data to be required in future and to transfer in advance the data between different layers. When the prediction of data to be required in future by prefetching hits, a data transfer time is shortened, so that a data waiting time is shortened for a processor.
The row buffer, also referred to as a history buffer, is a technique to store most recently accessed data in a buffer so as to realize high-speed data access when access is made to the same address as the stored data.
In prefetching, data transfer is performed in advance. Thus, a large overhead is caused if prediction by prefetching fails. Prefetching is a technique to cover up latency by transferring data to an upper layer, with no effects of latency cover-up in the same layer. The row buffer is effective for accessing data accessed in the past whereas not effective for accessing a new address.